home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Illustrator 6.0 SDK r1 Mac / AI Plugin Interface / AITextLine.h < prev    next >
Text File  |  1995-12-21  |  2KB  |  115 lines

  1. /**
  2.  
  3.     AITextLine.h
  4.     Copyright (c) 1995 Adobe Systems Incorporated.
  5.     All Rights Reserved
  6.  
  7.     Adobe Illustrator 6.0 Text Line Object Suite.
  8.  
  9.  **/
  10.  
  11. #ifndef __AITextLine__
  12. #define __AITextLine__
  13.  
  14.  
  15. /*******************************************************************************
  16.  **
  17.  **    Imports
  18.  **
  19.  **/
  20.  
  21. #include "AITypes.h"
  22. #include "AIArt.h"
  23. #include "AIFixedMath.h"
  24.  
  25.  
  26. #if Macintosh
  27.     #ifdef __cplusplus
  28.     extern "C" {
  29.     #endif
  30.     
  31.     #if PRAGMA_ALIGN_SUPPORTED
  32.     #pragma options align=mac68k
  33.     #endif
  34.     
  35.     #if PRAGMA_IMPORT_SUPPORTED
  36.     #pragma import on
  37.     #endif
  38. #endif
  39.  
  40.  
  41. /*******************************************************************************
  42.  **
  43.  **    Constants
  44.  **
  45.  **/
  46.  
  47. #define kAITextLineSuite    "AI Text Line Suite"
  48. #define kAITextLineVersion    2
  49.  
  50.  
  51. typedef enum {
  52.     kUnknownBreak = -1,
  53.     kCharacterBreak,
  54.     kWordBreak,
  55.     kHyphenBreak
  56. } AILineBreak;
  57.  
  58.  
  59. /*******************************************************************************
  60.  **
  61.  **    Types
  62.  **
  63.  **/
  64.  
  65. typedef struct {
  66.     Fixed leading;
  67.     Fixed ascent;
  68.     Fixed descent;
  69.     FixedPoint start;
  70.     FixedPoint limit;
  71.     FixedPoint extra;
  72.     FixedRect bbox;
  73.  
  74.     AILineBreak reason;
  75.     Fixed wordSpace;
  76.     Fixed lineSpace;
  77. } AILineMetrics;
  78.  
  79.  
  80. /*******************************************************************************
  81.  **
  82.  **    Suite
  83.  **
  84.  **/
  85.  
  86. typedef struct {
  87.  
  88.     MACPASCAL FXErr (*GetFirstTextLine) ( AIArtHandle parent, AIArtHandle *first );
  89.     MACPASCAL FXErr (*GetNextTextLine) ( AIArtHandle parent, AIArtHandle child, AIArtHandle *next );
  90.     MACPASCAL FXErr (*GetTextLineByteCount) (AIArtHandle line, short *count);
  91.     MACPASCAL FXErr (*GetTextLineByteCodes) ( AIArtHandle line, short index, short count, unsigned char *codes );
  92.     MACPASCAL FXErr (*GetTextLineCharCount) ( AIArtHandle line, short *count );
  93.     MACPASCAL FXErr (*GetTextLineCharPositions) ( AIArtHandle line, short index, short count, FixedMatrix *origins );
  94.     MACPASCAL FXErr (*GetTextLineMetrics) ( AIArtHandle line, AILineMetrics *lineMetrics );
  95.  
  96. } AITextLineSuite;
  97.  
  98.  
  99. #if Macintosh
  100.     #if PRAGMA_IMPORT_SUPPORTED
  101.     #pragma import off
  102.     #endif
  103.     
  104.     #if PRAGMA_ALIGN_SUPPORTED
  105.     #pragma options align=reset
  106.     #endif
  107.     
  108.     #ifdef __cplusplus
  109.     }
  110.     #endif
  111. #endif
  112.  
  113.  
  114. #endif
  115.